<style>
.layui-input-block{
margin-left:120px;
}
</style>
<form class="layui-form" action="" id="orderEditForm">
 <input type="hidden" name="companyid" th:value="${companyid}"/>
 <div class="layui-row" style="margin-top:20px;">
	  <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
		    <label class="layui-form-label" style="width:120px;">采购单号</label>
		    <div class="layui-input-block" style="width:200px;">
		         <input type="text" name="billno" class="layui-input" lay-verify="required"/>
		    </div>
	   </div>
	   
  </div>
  
  <div class="layui-row"  style="margin-top:10px;">
  	   <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
		    <label class="layui-form-label" style="width:120px;">来源类型</label>
		    <div class="layui-input-block" style="width:200px;">
		          <select id="type" lay-filter="type">
		          	<option value="">请选择</option>
		          	<option th:each="t:${types}" th:value="${t.code}" th:text="${t.value}"></option>
		          </select>
		    </div>
	</div>
		  
	  <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;">来源单号</label>
	    <div class="layui-input-block" style="width:200px;">
	          <select lay-verify="required" required name="sourceBillid" lay-filter="sourceBillid">
	          	<option value="">请选择</option>
	          	
	          </select>
	          <input type="hidden" name="sourceBillno" vallue=""/>
	    </div>
	  </div>
  	 
  </div>
  
  
 <div class="layui-row" style="margin-top:10px;">
 	<div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;">供应商名称</label>
	    <div class="layui-input-block" style="width:200px;">
	      <select style="width:200px;height:58px;" name="supplierId" lay-verify="required" required lay-ignore>
	      </select>
	    </div>
	</div>
	  
	  <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;" lay-filter="supplierContacts">供应商联系人</label>
	    <div class="layui-input-block" style="width:200px;">
	      <select name="connactId" lay-verify="required" required lay-filter="contactId">
	       <option th:each="s:${contacts}" th:attr="value=${s.id}" th:text="${s.name}"></option>
	      </select>
	    </div>
	  </div>
  
    
 </div>
 
  <div class="layui-row" style="margin-top:10px;">
  	  <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;" lay-filter="supplierContacts">结算方式</label>
	    <div class="layui-input-block" style="width:200px;">
	      <select name="settleMethodId" lay-verify="required" required lay-filter="settleMethodId">
	        <option value="">请选择结算方式</option>
	      </select>
	      <input type="hidden" name="settleMethodName" value=""/>
	      <input type="hidden" name="currencyId" value=""/>
	    </div>
	  </div>
	  <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;" lay-filter="supplierContacts">结算天数</label>
	    <div class="layui-input-block" style="width:200px;">
	      	<input type="text" readonly="true" name="settleDays" class="layui-input" lay-verify="required" style="background-color:#ececec"/>
	    </div>
	  </div>
	  
  </div>
  <div class="layui-row" style="margin-top:10px;">
  	<div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
	    <label class="layui-form-label" style="width:120px;">税率</label>
	    <div class="layui-input-block" style="width:200px;">
	      	<input type="text" readonly="true" name="taxRate" class="layui-input" lay-verify="required" style="background-color:#ececec"/>
	    </div>
	  </div>
	  
   <div class="layui-col-xs6 layui-col-sm6 layui-col-md6">
    <label class="layui-form-label" style="width:120px;" lay-filter="supplierContacts">汇率</label>
    <div class="layui-input-block" style="width:200px;" >
      	<input type="text" readonly="true" name="exchargeRate" class="layui-input" lay-verify="required" style="background-color:#ececec"/>
    </div>
  </div>
  </div>
  
  <div class="layui-row" style="margin-top:10px;">
	  <div class="layui-col-xs12 layui-col-sm12 layui-col-md12">
	    <label class="layui-form-label" style="width:120px;" lay-filter="supplierContacts">到货地址</label>
	    <div class="layui-input-block" style="width:520px;">
		    <textarea rows="6" cols="74" name="address" resize="no" class="layui-textarea"></textarea>
	    </div>
	   </div>
  </div>
  
 <div class="layui-row" style="margin-top:20px;">
    <div class="layui-col-xs12 layui-col-sm12 layui-col-md12" style="text-align:center;">
          <button class="layui-btn" lay-submit="" lay-filter="formSubmit">提交</button>
      	<button type="button" class="layui-btn layui-btn-primary" id="closeBtn">关闭</button>
    </div>
  </div>

</form>
<script>

layui.use('form', function(){
	  $("[name='supplierId']").select2({
		  placeholder:"请选择供应商",//placeholder
		  language: 'zh-CN',//中文语言
		  //allowClear:true,//出现删除按钮图片，可以清除下拉选中内容
		  ajax: {
			    url: "/com/supplier/customer/supplierList",
			    dataType: 'json',
			    delay: 350,
			    data: function (params) {
			      console.log(params.page)
			      return {
			        name: params.term, // search term
			        companyid:1,
			        page: params.page,
			        limit:30
			      };
			    },
			    processResults: function (data, params) {
			      params.page = params.page || 1;
			      console.log(JSON.stringify(data))
			      return {
			        results: data.data,
			        pagination: {
			          more: (params.page * 30) < data.count
			        }
			      };
			    },
			    cache: false
			  },
			  escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
			  minimumInputLength: 0,//最小输入字符，输入最小字符后开始后台请求
			  templateResult: formatRepo, // 处理远程返回数据
			  templateSelection: formatRepoSelection // 设置下拉选中后显示内容
			});
	  
	  	function formatRepo (repo) {
	  		//下拉展示内容可以修改自定义样式
	      if (repo.loading) return repo.text;
	      var markup = "<div class=\"layui-row\" style='width:280px;'>" +
			      "<div class=\"layui-col-xs4 layui-col-sm4 layui-col-md3\">" +
			      	"<div class=\"grid-demo grid-demo-bg1\">"+repo.no+"</div>" +
			     "</div>"+
			     "<div class=\"layui-col-xs8 layui-col-sm8 layui-col-md9\">" +
			      	"<div class=\"grid-demo grid-demo-bg1\">"+repo.name+"</div>" +
			     "</div>";

	      return markup;
	    }

	    function formatRepoSelection (repo) {
	      if(repo.name!=null&&repo.name!=""){
	      	return repo.name;//选中返回select中的值
	      }else{
	    	  return repo.text;
	      }
	    }
	  var form = layui.form; //只有执行了这一步，部分表单元素才会自动修饰成功
	  //……
	  //但是，如果你的HTML是动态生成的，自动渲染就会失效
	  //因此你需要在相应的地方，执行下述方法来手动渲染，跟这类似的还有 element.init();
	  form.render();
	 /*  form.on('select(supplierName)', function(data){
		  console.log(data.elem); //得到select原始DOM对象
		  console.log(data.value); //得到被选中的值
		  console.log(data.othis); //得到美化后的DOM对象
		  $.getJSON("/com/suppliercustomer/contacts/"+data.value,function(data){
			  var html = [];
			  html.push("<option value=''>请选择联系人</option>")
			  $.each(data,function(i,item){
				  html.push("<option value='"+item.id+"'>"+item.name+"</option>")
			  })
			  $("select[name='contacts']").html(html.join(""));
              form.render('select'); //这个很重要
		  });
		}); */
	  
	  //select2选中事件
	  $("[name='supplierId']").on("select2:select",function(e){
		  console.log(e.params)
		  var id = e.params.data.id;
		  $.getJSON("/com/supplier/customer/contacts/"+id,function(data){
			  var html = [];
			  html.push("<option value=''>请选择联系人</option>")
			  $.each(data,function(i,item){
				  html.push("<option value='"+item.id+"' data-phone='"+item.phone+"'>"+item.name+"</option>")
			  })
			  $("select[name='connactId']").html(html.join(""));
              form.render('select'); //这个很重要
              
		  });
		  
		  //选择供应商带出供应商结算方式
		  $.getJSON("/pu/purchaseorder/querySettleMethod/"+id,function(data){
			  var html = [];
			  html.push("<option value=''>请选择结算方式</option>")
			  $.each(data,function(i,item){
				  if(item.isDefault==1){
					  
				  	html.push("<option value='"+item.id+"' data-taxRate='"+item.taxRate+"' data-exchangeRate='"+item.exchangeRate
				  			+"' data-currencyId='"+item.currency+"' data-currencyName='"+item.currencyName+"' data-settleDays='"+item.dates+"' selected>"
				  			+item.statementType+"</option>")
				  	  $("input[name='settleDays']").val(item.dates);
					  $("input[name='exchargeRate']").val(item.exchangeRate);
					  $("input[name='currencyName']").val(item.currencyName);
					  $("input[name='settleMethodName']").val(item.statementType);
					  $("input[name='currencyId']").val(item.currency);
				  }else{
						html.push("<option value='"+item.id+"' data-exchangeRate='"+item.exchangeRate
								+"' data-currencyId='"+item.currency+"' data-currencyName='"+item.currencyName+"' data-settleDays='"+item.dates+"'>"
					  			+item.statementType+"</option>")
				  }
			  });
			  
			  //默认显示选中的结算方式信息
			  $("select[name='settleMethodId']").html(html.join(""));
              form.render('select'); //这个很重要
              
		  });
		  
		  //获取税率信息
		  $.getJSON("/pu/purchaseorder/queryTax/"+id+"/"+$("input[name='companyid']").val(),function(data){
              $("input[name='taxRate']").val(data.value);
		  });
		  
	  })
	   //结算方式选择
	   form.on("select(settleMethodId)",function(data){
		  var $option = $(data.elem).find("option[value='"+data.value+"']");
		  $("input[name='settleDays']").val($option.attr("data-settleDays"));
		  $("input[name='exchargeRate']").val($option.attr("data-exchangeRate"));
		  $("input[name='currencyName']").val($option.attr("data-currencyName"));
		  $("input[name='settleMethodName']").val($option.text());
		  $("input[name='currencyId']").val($option.attr("data-currencyId"));
	  });
		
	 form.on("select(type)",function(data){
		  var type = $("#type option:selected").val();
		  $.getJSON("/pu/purchaseorder/querySourceOrder?type="+type+"&companyid="+$("input[name='companyid']").val(),function(data){
			  var html = [];
			  html.push("<option value=''>请选择来源单号</option>")
			  $.each(data,function(i,item){
				  html.push("<option value='"+item.code+"' >"+item.value+"</option>")
			  })
			  $("select[name='sourceBillid']").html(html.join(""));
              form.render('select'); //这个很重要
		  });
	  });
		
	  form.on("select(sourceBillid)",function(data){
		  var billno = $(data.elem).find("option[value='"+data.value+"']").text();
		  $("input[name='sourceBillno']").val(billno);
	  });
	  //联系人选中监听
	  //带出手机号码
	  form.on("select(contactId)",function(data){
		  var phone = $(data.elem).find("option[value='"+data.value+"']").attr('data-phone');
		  $("input[name='phone']").val(phone);
	  });
	  
	  $("#closeBtn").click(function(){
		  layer.closeAll(editdialogindex);
	  })
	  
	  //监听提交
	  form.on('submit(formSubmit)', function(data){
	    var supplierId = $("[name='supplierId']").select2("data")[0];
	    if(supplierId==null||supplierId==""){
	    	layer.msg('供应商必填', {icon: 5});
	    	return false;
	    }
	    $.ajax({
            type: "post",
            url: "/pu/purchaseorder/add",
            data: $("#orderEditForm").serializeJson(),
            dataType: "json",
            success: function(data){
            	if(data.code==200){
            		//关闭弹出层
           	    layer.close(adddialogindex);
           	    //更新表格数据
            	}else{
            		layer.msg(data.message);
            	}
            }
           });
	   
	    return false;
	  });
	  //关闭按钮
	  $("#closeBtn").click(function(){
		  layer.closeAll();
	  })
	});      
</script>
